﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace Three.BookStore.OrderManagement
{
    /// <summary>
    /// 销售送货单主表实体类
    /// </summary>
    public class SalesDeliveryOrder:Entity<int>
    { 
        /// <summary>
        /// 单号
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string OrderNumber { get; set; }

        /// <summary>
        /// 订单编码
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string OrderCode { get; set; }

        /// <summary>
        /// 日期
        /// </summary>
        public TimeOnly? Date { get; set; }

        /// <summary>
        /// 送货类别
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string DeliveryType { get; set; }

        /// <summary>
        /// 仓库
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string Warehouse { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string CustomerCode { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string CustomerName { get; set; }

        /// <summary>
        /// 业务员
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string Salesman { get; set; }

        /// <summary>
        /// 服单
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string ServiceOrder { get; set; }

        /// <summary>
        /// 结账方式
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string SettlementMethod { get; set; }

        /// <summary>
        /// 币别
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string Currency { get; set; }

        /// <summary>
        /// 总金额
        /// </summary>
        [Column(TypeName = "decimal(10,2)")]
        public decimal? TotalAmount { get; set; }

        /// <summary>
        /// 总重量
        /// </summary>
        [Column(TypeName = "decimal(10,2)")]
        public decimal? TotalWeight { get; set; }

        /// <summary>
        /// 总件数
        /// </summary>
        public int? TotalPieces { get; set; }

        /// <summary>
        /// 收货地址
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string ReceivingAddress { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Column(TypeName = "varchar(200)")]
        public string Remarks { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string Status { get; set; }

        /// <summary>
        /// 创建者
        /// </summary>
        [Column(TypeName = "varchar(30)")]
        public string Creator { get; set; }

        /// <summary>
        /// 记录创建时间
        /// </summary>
        public TimeOnly? RecordCreationTime { get; set; }

        /// <summary>
        /// 记录更新时间
        /// </summary>
        public TimeOnly? RecordUpdateTime { get; set; }
    }
}
